1. Technical Field
The present invention relates generally to a multi-display system, and relates more particularly to an effective implementation of a multi-display processor system.
2. Discussion of Background Art
Developing efficient multi-display systems is a significant objective for contemporary system designers and manufacturers.
Conventional computer systems may utilize a display device to view the output from a host computer system. The conventional display device is typically positioned in local proximity to the host computer system because of restrictions imposed by various physical connections that electrically couple the display device to the output of the computer system. In some cases, computer systems may support a second display device that has similar proximity restrictions due to the physical connections.
Remote displays may advantageously provide users with additional flexibility when choosing an appropriate viewing location and appropriate locations for the host computer. For example, in a corporate environment, a business may wish to keep all of the host computers in a “Computer Room” that is a secure central location that has both physical security and environmental management such as air conditioning and power back-up systems. However, it is necessary for users to utilize the host computer systems from their offices and from desks located outside the “computer room.”
The typical office environment today includes personal computers physically located at the users' locations. These personal computers operate on a network having a centralized system for storage, file serving, file sharing, network management and various administrative services. Recognizing the benefits of security, reduced cost of operation, and the general desire for centralizing control, various attempts have been made to reduce the complexity of the computer that resides at the user's location and evolve it into some type of thin client solution. The first portion of the system to be centralized is usually the hard drive, centralizing all of the storage associated with the computer system while the user still runs the operating system on his local desktop. There have been other attempts to centralize more of the computer by effectively turning a client into a dumb terminal, but dumb terminals tend to perform poorly especially for rich multimedia content.
Remote computing systems typically possess certain detrimental operational characteristics that diminish their effectiveness for use in modern computer systems. For example, in order to eliminate restrictive physical proximity connections, remote displays have to resort to ineffective means to transfer the display information from the host computer to the remote display. These ineffective means usually degrade real time performance for video playback and 3D graphics and typically substantially slow down the interactive performance for simple user interface controls.
Some thin client approaches effectively run long wires from the head end system. The long wires may be extensions of the PCI or PCI express bus, or may be some transport of the video display output in either analog or digital form. While the long wire approach can solve software issues for the thin client, it typically requires a special network for the long wires and the host computer can not scale to support many users. Systems that solve the delay issues by essentially lengthening wire implementations used by local proximity displays, end up requiring dedicated and costly wiring solutions.
Some thin clients at the user desktop have a CPU that runs an operating system and have a graphics controller. This makes the thin client, or remote terminal, a system that needs to be maintained with software updates and whose performance is bound by the component selection in the device, not just by the host CPU system. Systems that solve the delay issues by adding more intelligence to the remote display end up with remote systems that require significant processing, a full graphics subsystem including 2D, 3D and video playback, maintenance and system management that significantly reduce the primary justification for centralizing the host computers in the first place.
Effectively solving the issue of remote display systems is one of the key steps in supporting multiple displays from a single host computer. Multiple displays from a single host computer allow multiple users to utilize the resources of a single shared computer thus reducing cost. In a typical office environment, seldom is everyone using their computers at the same time and similarly, seldom is any one user using all of the computing resources of their computer. So for example, a company with 100 offices may only need a system that supports 60 users at any one time. Even with that said, such a system could be designed to support all 100 users giving them enough computing throughput to give the appearance that they each had their own host computer. With host computers ever increasing their performance and even including multiple CPUs and single CPUs that have multiple CPU cores, the limitation of a single user to a single computer makes less economic sense. In office environments such as telephone call centers, where the users are all running a common set of limited software applications, this approach can make sense for many users to share a single host computer.
However, because of the substantially increased complexity in achieving high performance for multiple remote displays, single host computer systems may require additional resources for effectively managing and controlling, and interactive operation of, multiple displays.
What is needed is a system, including a multi-display processor solution that allows a host computer and a network to be used for remote displays, which does not require each remote display to have a significant CPU, operating system, or graphics processor. The system should allow a host computer to economically scale to support numerous displays and numerous users while delivering an acceptable level of performance.